The present invention relates generally to navigation, and more particularly to equipment and a method for finding ones way back along a path that has been traversed while using navigational equipment.
With the reduction in cost for consumer electronic equipment an increasing number of Global Positioning Systems (GPS) have become available. These devices have gone from being an electronic gadget to being a heavily relied upon device for determining position as well as direction and distance to a destination. Likewise, the reliance on these devices have also increased. Currently, there are a number of GPS systems. For example, Garmin International produces hand held GPS units which may be used by small boaters and even hikers. An example of such a unit is described in the GPS 38 xe2x80x9cPersonal Navigatorxe2x80x9d(trademark) Owner""s Manual published in 1996.
A desirable feature of existing GPS systems is the ability to provide information about where the user is and how to get to a predetermined point known as a way-point. This feature is generally accomplished by the GPS system computing a straight line between the way-point and the current location. The system also provides direction and distance information associated with this straight line. This feature has allowed users greater freedom in their travel.
Unfortunately, this feature has drawbacks. For example, there may be an impassable object between the user and the way-point. In this situation, the user would continue along the straight line path until the impassable object is encountered. While this presents a minor nuisance during the daytime, it may present a hazardous situation at night, during low visibility or during inclement weather. To date, there are no GPS systems which may predict the existence of an impassable object in an untraveled path. While this is understandable, it is not acceptable that these GPS systems are not able to avoid these impassable objects on a return path.
Currently, the applicant is not aware of any system which is capable of providing a return path which accurately takes into consideration the entire path traveled by the user. Generally, this is because of the memory and computational limitations present in today""s GPS systems. For example, to accurately map a path, the number of data points would vary with the number of times the path meanders from a straight line. The data associated with a detour around an impassable object would greatly reduce the distance of a path one would be able to store in memory. Additionally, even if one would store every minute detail of a path, the user would not want to know about each minor change in path stored and replayed. Therefore, a need exists for a system that is capable of backtracking or retracing one""s steps in order to avoid dangerous or impassable objects while being able to ignore minor deviations in the traversed path.
A method for automatically generating a point-reduced backtrack route is provided, using the aid of Global Positioning System technology. The method begins by recording a potentially very large series of data points using GPS technology and a user-selected point recording algorithm into a forward-track route. A point-reducing algorithm is then used to reduce the forward track to a backtrack route which preserves the topological essence of the original route, but with far fewer data points. This reduced backtrack route is then suitable for storage in a memory constrained device, and is suitable for backtrack navigation without the need for the large set of original route points. Storage of a number of such backtrack routes is thus made available to the end user.
It is therefore an object of the present invention to provide a GPS system which will provide a means for backtracking a path that has been traveled.
It is a further object to provide a GPS system which reduces the amount of memory and computational power required to process a return path based upon a traveled path.
It is yet another object to provide a GPS system which generates an accurate retrace of an originally traveled path.
It is yet another object to provide a means to avoid dangerous and impassable objects which were encountered on the original path.
It is yet another object to provide a means for storing the original path data in a manner which utilizes less memory.
It is yet another object to provide a means for storing original path data when the GPS system is in a non-steady state.
It is yet another object to provide a means for storing the original path data which compares the current location to previous locations and determines if it is necessary to store the current data point.
In all of the above embodiments, it is an object to provide a safe, reliable and inexpensive GPS system which accurately retraces a path that has been traveled by the user.
Finally, it is an object of the invention to provide a method of accomplishing a backtrack of a path which may be implemented in existing GPS systems.
According to one broad aspect of the present invention, there is provided a method for generating a backtrack from a plurality of data points which have been stored in a memory of a Global Positioning System, the data points having a first, last and intermediate data points corresponding to geographic position, the method comprising the steps of: initializing a counter C to a value of 1, the counter C corresponding to a memory location on a memory stack; storing the last data point in the memory stack at a first memory location; assigning the last data point to a variable E; initializing a stack counter N to a value of 2; assigning the first data points to a variable B; comparing the counter C to zero.
And conducting the following steps if the counter C is greater than zero: computing a straight line from the variable B to the variable E; computing a shortest distance for each of the intermediate data points from the straight line, thereby having a plurality of shortest distances corresponding in a one to one relationship to the intermediate data points; determining the longest of each of the shortest distances and assigning the intermediate data point corresponding to the longest distance to a variable L and assigning the longest distance to a variable D; comparing the variable D to a threshold value; increasing the value of counter N by one, storing the variable L in the memory stack at memory location S(C), assigning the value of variable L to variable E, and returning to the comparing of the counter C to zero step; if D is greater than the threshold value; decreasing the value of counter C by one, assigning the value of variable E to variable B and assigning the value of stack memory location S(cxe2x88x921) to variable E, and returning the comparing C to zero step; if D is less than or equal to the threshold value.
And conducting the following steps if variable C is less than or equal to zero: comparing N to a predetermined memory limit; increasing the threshold value by a predetermined value, and returning to initializing a counter C step; is N is greater than the memory limit; and navigating to the first position utilizing the positions stored in the stack as way-points for the global positioning system.
According to another broad aspect of the invention, there is provided a method for storing data points in a memory of a Global Positioning System, the method comprises the steps of: acquiring a first data point corresponding to a first geographic position; storing the first data point in the memory; acquiring a second data point corresponding to a second geographic position; storing the second data point in the memory; acquiring a current data point to the second data point; computing the shortest distance from the current data point and the line; comparing the shortest distance to a threshold value; discarding the current data point if the shortest distance is less than the threshold value; and storing the current data point in the memory if the shortest distance is greater than or equal to the threshold value.
Other objects and features of the present invention will be apparent form the following detailed description of the preferred embodiment.